The present invention is particularly adapted to the field of casino gaming devices which house one or more games on internal EPROMs. Such devices include what are commonly known as slot machines, video poker machines, and more recent implementations that have combined both and may offer a variety of games on a single machine, referred to as a “multi-game.” EPROMs employed in gaming applications are naturally subjected to the inherent limitations and potential faults of EPROMs in any other computer-based apparatus. However, the gaming industry fosters other reasons for assuring the integrity of EPROM contents: regulatory compliance and, due to the possibility of instant pecuniary gain or loss, detecting and thwarting cheaters who could benefit from purposely altered software or payout tables.
In jurisdictions where gaming is permitted, use of such devices is regulated by law. Consequently, in regulated jurisdictions gaming devices are routinely, regularly and randomly verified by the authorities to ensure the compliance, integrity and authenticity of their EPROMs. The present invention is particularly designed to aid in complying with gaming regulations requiring an EPROM-based method for determining the authenticity of the device. A commonly configured multi-game machine would include a number of games such as: keno, poker, slots, blackjack and others. These games can be played separately or be combined into new games, games within games, pushing the limits of software and hardware. Typical gaming machines of this type also employ a combination of mechanical devices, electronics, microprocessors and complex software to generate the gaming experience. Some of the common hardware components used are as follows: a cabinet, handle, jackpot tower, coin acceptor, bill acceptor, credit meters, back-lit glass, reels, monitor, game door, buttons, payout hopper, lights and speakers. The electronics include many of the following components: microprocessor, read only memory (ROM), RAM, high speed data bus, peripheral logic chips for serial and parallel ports, driver circuitry for lamps, speakers, video and other devices. Typical software components would include: power-up initialization, device drivers, game recovery, state machine, random number generator, payout routine, credit management, graphics engine, sound, game engine, game data, security, accounting and reporting functions. As a result, the increasing complexity of such gaming devices commensurately increases the difficulty of ensuring EPROM integrity as well as regulatory compliance.
Software authentication is usually a process carried out by a third party (other than the manufacturer or the casino operator) representing the gaming enforcement agency that has jurisdiction over the device. The purpose is to ensure that the software controlling the game has not been tampered with, and software authentication is usually required after a large jackpot has been obtained by a player. Authentication also verifies that the gaming software was previously examined and approved by the gaming agency in whose jurisdiction the jackpot occurred. Moreover, casinos wish to verify that the software running the game is legitimate, particularly if a particular machine is not earning the expected amount of revenue, or in response to player complaints about the behavior of a particular game.